//
//  ListeParticipant.m
//  Kayak
//
//  Created by Drolet-Noël, Julien on 12-05-31.
//  Copyright 2012 __MyCompanyName__. All rights reserved.
//

#import "ListeParticipant.h"


@implementation ListeParticipant

static ListeParticipant * instance = NULL;
const NSString *EVENT_NAME = @"ListeModifiee"; 

- ListeParticipant
{
	self = [super init];
	[liste autorelease];
	liste = [[NSMutableArray alloc] init];
	
	return self;
}

// Instance du singleton
+ (ListeParticipant*) getInstance
{
	if (instance == NULL) 
	{       
		[instance autorelease];
		instance = [[ListeParticipant alloc] init];
	}
	
	return instance;
}

// Ajout d'un participant a la liste
- (void) ajouterParticipant:(Participant*) p
{
	[liste addObject:p];
	[[NSNotificationCenter defaultCenter] postNotificationName:EVENT_NAME object:self];
}

// Suppression d'un participant dans une liste
- (boolean_t) supprimerParticipant:(int)index
{
	if ((index >= 0) && (index < [self getSize])) 
	{
		[liste delete:(int)index];
		[[NSNotificationCenter defaultCenter] postNotificationName:EVENT_NAME object:self];
		return true;
	}
	
	else {
		return false;
	}
	
}

// Retourne un participant
- (Participant *) getParticipant:(int)index
{
	if ((index >= 0) && (index < [self getSize])) 
	{
		return [liste objectAtIndex:index];
	}
	
	else 
	{
		return NULL;
	}
}

// Annonce si la liste est vide
- (boolean_t) isEmpty
{
	return ([self getSize] == 0);
}

// Retourne la taille de la liste
- (int) getSize
{
	return [liste count];
}       
@end